Constrain secret readers with curry arguments - #121
Open
nishu-builder wants to merge 1 commit into
Open
Conversation
nishu-builder
force-pushed
the
codex/constrained-secret-readers
branch
from
August 20, 2026 00:36
e4de2c7 to
f7c80c3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.caos-secretsreader=line to contain an explicit typed--basecurry, without treating the line as a command:@=resolutionWhy
Path-only readers constrain worker identity but leave every additional argument unconstrained. Secret owners need to pin local grant policy such as an allowed destination, repository, or environment without creating repository-owned wrapper expressions.
This restores inline reader constraints removed in
91866bd94: content-addressed worker identity belongs in the source tree, while the secret owner's local constraints belong with the per-device secret grant.Syntax
Each
reader=is one independent partial ArgTree. Missing, duplicate, rebound, malformed, untyped, and unsuitable bases fail clearly. Secret values and entropy remain out of ArgTrees; only the existing entropy-derivedsecret-hashenters them.Security coverage
secret-hashvalues cannot bypass a mismatchValidation
cargo fmt --all -- --checkcargo test --workspacenix buildresult/bin/caos-cli run-tool test(44/44 passed)git diff --checkPR #113 is stacked on this branch for conversation-specific secret integration.